mikeo_410
  1. 4.Visual Code + R
    1. 1.RをVisual Studio Codeで

RをVisual Studio Codeで

日々新たで、最初に書いたままでしたが、大きく変わっているようなので現状を書きます。

何がどうしたのか分かりませんが、以下のようなメッセージが頻繁に表示されるようになりました。

Warning message:

 In writeLines(json, path, useBytes = TRUE) :

 invalid char string in output conversion

実害はないようで、ターミナル出力が見にくいだけです。

この状態は、Visual Studio Code や R をインストールし直しても改善しません。

ただし、完全なアンインストールはできておらず、設定は引き継がれています。

Rもバージョンが変わっていますが、Rのパスは最初に設定したままです。

下記の記述を読み返して、RのターミナルがRadianであることを思い出しました。

Rに関していくつかの拡張をインストールしていましたが、全て削除しました。

「R Extension for Visual Studio Code」と「Japanese Language Pack for Visual Studio Code」を最後にインストールすれば十分なようです。

「CTRL+,」、あるいは「歯車マーク(管理)」「設定」 で、「設定の検索」窓に「R」と入力するとRに関する設定項目が一覧されます。Rpath:Windows を修正しました。

Rterm:Windows を空にしました。

いったん終了して、Visual Studio Code を起動すると、拡張のインストールを促されるので、上述の2つを加えます。

これで、Radian ではなく、Rのネイティブのターミナルが起動するようになりました。

上述のワーニングは表示されなくなりました。

これで、しばらく使ってみます。

  1. Rのネイティブのターミナルなので、全角文字の入ったコマンドラインの編集はおかしくなる。
  2. 今のところ実害はないが、plotのラベルやタイトルに全角文字を使うと警告が表示される。Radianと同じことだが表示の邪魔になり方が軽減したように思う。
  3. plotの表示がvs codeの窓内になった。.pngが開かれた状態。接線と法線を描いていたが縦横比のために直交して見えない。

前述の「設定の検索」窓に、「plot」と入力して「Use Httpgd」をチェックして、vs code を再起動してみた。Rのネイティブに見える別窓が開くようになった。

HttpgdはRのパッケージで、これをインストールしていないので、代わりにネイティブのビューアが開くと言う正しくない状況と思うが都合が良い。

Httpgd

名前の通り、htmlファイルを作って、VS code の窓やブラウザで開きます。窓のサイズを変えればグラフの縦横比を変えられます。svgなどのスクリプトではなくimgタグで表示されています。サーバサイドで動的にimgを変更するものではないかと想像します。

試すためにRにパッケージをインストールしました。元に戻すことが出来なくなりました。remove.packages()など、「'lib'がないため...」と表示されています。

結局、Rを再インストールしました。

この際に知ったのは、もはやドキュメント・ディレクトリのRディレクトリはつかわれていないようです

  1. > .libPaths()
  2. [1] "C:/Users/mikeo/AppData/Local/R/win-library/4.2"
  3. [2] "C:/Program Files/R/R-4.2.1/library"

最初に書いたもの-----------------------------------------------------------------------------------------------------------

様々な理由で、いろいろなエディタを使い分けてます。少なくともプログラミング言語はプレーンテキストなので同じエディタで済まないものかと考えます。Visual Studio Code も7年たったようです。当初から魅力的なのですが、ターミナル・ペインがあったりしてメモ帳のようには使えませんでした。

一方、RのエディタはスクリプトファイルをUTF8で扱うのに問題がありました。コンソールでは日本語が入った行を正しく編集できませんがあまり問題ではありません。R StudioのエディタはUTF8で問題がないのですが中途半端なものに感じます。

パソコンを変えたので、何をインストールしようかと考えて、Visual Studio Code + R を試すことにしました。

必要なのはエディタに入力したスクリプトを、そのまま実行できることです。Visual Studio Code のエディタが優れているので期待できます。

1. 日本語について

Rのステートメントを日本語で書こうという意図はありません。コメントとファイル名です。Rの標準では日本語のファイル名が正しく処理されないことがありました。

ブラウザで日本語が問題を起こすことはなくなったのでJavaScriptも問題がないものと思い込んでいましたが違うようです。JavaScriptは内部16ビット/文字を貫いており、サロゲートペアの処理を全くしないようです。補助関数もありません。当分、プログラミング言語の内部の文字はUTF16のようです。

しかし、普通に日本語でコメントを付けただけでサロゲートペアの問題を起こします。おそらく半角文字を混合することが一因です。

2. 何が必要か

32ビットとx64の別のあるものはx64を使います。

Visual Studio Code に用意されている拡張機能をインストールします。

  1. R Extension for Visual Studio Code
  2. R Tools
  3. Code Runner

これらは、現在は.NET5.0で作られているようです。Windows11には6.0のみなので別途インストールしておく必要があります。

また、Rスクリプトを実行するコンソールは変える必要がありました。日本語を含むと落ちてしまいます。radianというものでpythonで書かれたRのコンソールのようです。

python3をインストールする必要があります。DOS窓で付随のpipコマンドを使います。

pip install -U radian

Visual Studio Code には、Rのパスと、radianのパスを設定します。

Rのパッケージをいくつかインストールします。

  1. install.packages("languageserver")

ここで挫折。「R LSP Clinent」がない。R Language Server package のクライアントらしいのですが非公開となっています。

3. 使い方

良く区別がついていませんがコードスニペット、インテリセンス、ハイライティングといった機能が働きませんが今までと大差ない使い方ができます。

1行、または選択領域を実行するのは、CTRL+enterでした。

ただし、全部を実行する操作は分かりません。

Visual Studio Code には、実行のショートカットやアイコンがもともとありますがターミナルではなく「出力」ペインが開きます。コンパイル言語と同様にスクリプトをファイルに保存して、コマンドライン引数にファイルを記述するのだと思います。

4. settings.json

a

  1. {
  2.     "workbench.colorTheme": "Visual Studio Light",
  3.     "files.associations": {
  4.         "*.rmd": "markdown"
  5.     },
  6.     "r.rpath.windows": "C:\\Program Files\\R\\R-4.1.3\\bin\\x64\\R.exe",
  7.     "r.rterm.windows": "C:\\Users\\mikeo\\AppData\\Local\\Programs\\Python\\Python310\\Scripts\\radian.exe",
  8.     "r.terminalPath": "C:\\\\Users\\\\mikeo\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python310\\\\Scripts\\\\radian.exe"
  9.  }

a


題目一覧へmikeo_410@hotmail.com(updated: 2022/12/17)